/*
 * @lc app=leetcode.cn id=2342 lang=csharp
 *
 * [2342] 数位和相等数对的最大和
 */
// @lc code=start
public class Solution {
    public int MaximumSum(int[] nums) {
        if (nums.Length < 2) return -1;
        
        int max = -1;
            
        // 1个 dict<int, int[2]>, 记录每个数位和为 s 的最大两个 nums[x1] num[x2]
        // 遍历dict， 求出最大的和
        // Dictionary<int, int[2]> dict = new Dictionary<int, int[2]>();
        // for(int i = 0; i < nums.Lenght; i++)
        // {
        //     int sum = sum(nums[i]);
        //     if (dict.ContainsKey(sum))
        //     {
        //         if (nums[i] > dict[sum][0])
        //         {
        //             dict[sum][1] = dict[sum][0];
        //             dict[sum][0] = nums[i];
        //         }
        //         else if (nums[i] > dict[sum][1])
        //         {
        //             dict[sum][1] = nums[i];
        //         }
        //     }
        //     else
        //     {
        //         dict.Add(sum, new int[2]{nums[i], -1});
        //     }
        // }
        
        return max;
    }
    
    private int sum(int num)
    {
        int sum = 0;
        while(num > 0)
        {
            sum += num % 10;
            num /= 10;
        }
        return sum;
    }
}
// @lc code=end

